<?php
namespace Peas\File;

/**
 * Peas Framework
 *
 * 目录操作类
 *
 * @author  Hongzan Zhang <zhanghongzan@163.com>
 * @version $Id$
 */
class Dir
{
    /**
     * 循环创建目录，目录已存在时直接返回true
     *
     * @param  string $dir            目录路径
     * @param  int    $dirPermission  目录权限
     * @param  mixed  $emptyIndexFile false|string 是否写入空文件，false时不写入，string表示文件名，如：index.html
     * @param  int    $filePermission 文件权限
     * @return boolean true表示创建成功，false表示创建失败
     */
    public static function makeDir($dir, $dirMode = 0775, $emptyIndexFile = 'index.html', $fileMode = 0664)
    {
        if (is_dir($dir)) {
            return true;
        }
        $parentDir = self::makeDir(dirname($dir), $dirMode, $emptyIndexFile, $fileMode);
        if ($parentDir && @mkdir($dir, $dirMode)) {
            if ($emptyIndexFile) {
                @file_put_contents($dir . '/' . $emptyIndexFile, '<!-- Created by Peas Framework, Created on ' . date('F Y h:i:s A') . ' -->');
                @chmod($dir . '/' . $emptyIndexFile, $fileMode);
            }
            return true;
        }
        return false;
    }
}
